Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg Porto Challenger M25 Idanha-a-Nova M25 Idanha-a-Nova M25 Sintra Davis Cup, Group A, Bologna U.S. Open - New York Mallorca Challenger M25 Sintra Oeiras 4 Challenger Alicante Challenger M25 Tavira Orleans Challenger Lisbon Challenger M25 Tavira Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Guayaquil Challenger Valencia Challenger Montevideo Challenger M25 Vale do Lobo Oeiras 2 Challenger Naples Challenger Oeiras 3 Challenger Oeiras 1 Challenger BNP Paribas Open - Indian Wells M25 Vila Real de Santo Antonio Miami Open - Miami Qatar ExxonMobil Open - Doha Manama Challenger M25 Vila Real de Santo Antonio Quimper Challenger M15 Monastir Davis Cup, World Group, Q, SWE-BRA 1-3 M25 Quinta Do Lago M25 Faro Phoenix Challenger Ostrava Challenger M25 Vale do Lobo M25 Loule Wimbledon - London Millennium Estoril Open - Estoril Mauthausen Challenger M15 Monastir M25 Porto M15 Monastir French Open - Paris M25 Elvas M15 Monastir Citi Open - Washington M25 Setubal M15 Monastir Cary Challenger Porto Challenger Sassuolo Challenger Nordea Open - Bastad M15 Monastir M25 Castelo Branco Seville Challenger U.S. Open - New York M25 Idanha-a-Nova Istanbul Challenger Lisbon Challenger Sibiu Challenger Orleans Challenger M25 Sintra M25 Quinta do Lago BNP Paribas Nordic Open - Stockholm Zug Challenger Francavilla Challenger Braga Challenger Mouilleron-Le-Captif Challenger Seoul Challenger M25 Sintra Roanne Challenger Oeiras 2 Challenger Matsuyama Challenger Kobe Challenger Pune Challenger M25 Vale do Lobo M25 Faro M25 Vale do Lobo Yokkaichi Challenger Chennai Challenger Yokohama Challenger Oeiras 3 Challenger St. Tropez Challenger M25 Vila Real de Santo Antonio M25 Vale do Lobo M25 Elvas M25 Vale do Lobo Maia Challenger Grodzisk Mazowiecki Challenger New Delhi Challenger Oeiras 1 Challenger M25 Vila Real de Santo Antonio M25 Idanha-a-Nova Oeiras 5 Challenger Seoul Challenger M25 Figueira da Foz Oeiras 4 Challenger Sassuolo Challenger Porto Challenger M25 Loule Mallorca Championships - Mallorca Naples Challenger M15 Monastir Rome Challenger Tiriac Open - Bucharest M25 Setubal Monza Challenger Hamburg Open - Hamburg M15 Monastir Perugia Challenger Heilbronn Challenger Braunschweig Challenger Nordea Open - Bastad Porto 2 Challenger M25 Sintra U.S. Open - New York M25 Idanha-a-Nova Seville Challenger Szczecin Challenger Lisbon Challenger Bad Waltersdorf Challenger M25 Setubal Braga Challenger BNP Paribas Nordic Open - Stockholm M25 Sintra Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Portugal F10 (Setubal) Portugal F11 (Castelo Branco) Portugal F18 (Oliveira De Azemeis) Portugal F19 (Idanha-a-Nova) Portugal F20 (Idanha-a-Nova) M15 Faro M15 Loule M15 Portimao M15 Setubal M15 Idanha-A-Nova M15 Idanha-A-Nova M15 Castelo Branco M15 Sintra M15 Sintra M25+H Oliveira De Azemeis M25 Tavira M15 Vale Do Lobo M15 Faro M15 Sintra M15 Sintra M15 Castelo Branco M25 Porto M15 Setubal M25 Vale Do Lobo M15 Quinta Do Lago M15 Villena M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Majadahonda M15 Valldoreix M25 Vic M15 Almada M25 Idanha-a-Nova M25 Idanha-a-Nova M15 Castelo Branco M25 Koksijde M15 Huy M25 Sintra M25 Sintra M25 Setubal M25 Loule M25 Quinta Do Lago M25 Portimao M15 Villena M25 Vale do Lobo M25 Faro M25 Portimao M25 Loule M25 Quinta Do Lago M15 Meerbusch M25 Martos M25 Idanha-a-Nova M25 Idanha-a-Nova M15 Castelo Branco M15 Xativa M25 Sintra M25 Sintra M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Faro M25 Loule M25 Quinta Do Lago M25 Portimao M25 Reus M25 Valldoreix M15 Monastir M15 Monastir M25 Mungia M25 Bakio Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Shanghai Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Rome Challenger Mohammedia Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Budapest Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Aix En Provence Challenger Prostejov Challenger Bastad Challenger Chicago Challenger Cary Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Split Challenger Lisbon Challenger Istanbul Challenger Orlando Challenger Biella 4 Challenger Marbella Challenger Oeiras 1 Challenger Split 1 Challenger Oeiras 2 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Oeiras 4 Challenger Lyon Challenger Aix En Provence Challenger Porto Challenger Braunschweig Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Braga Challenger Orleans Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Maia 1 Challenger Maia 2 Challenger Marbella Challenger Oeiras 1 Challenger Oeiras 2 Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Oeiras 3 Challenger Salzburg Challenger Porto Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Braga Challenger Lisbon Challenger Helsinki Challenger Andria Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Split Challenger Bordeaux Challenger Oeiras 4 Challenger Prostejov Challenger Seville Challenger Maia Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad If Stockholm Open - Stockholm Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Murray River Open - Melbourne Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril BMW Open - Munich Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Korea Open - Seoul Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Dubai Duty Free Tennis Championships - Dubai Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome M25 Porto M25 Castelo Branco Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Bangkok Challenger Oeiras 3 Challenger Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Porto 2 Challenger Estoril Challenger Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Zadar Challenger All Lower level tournaments Cary Challenger Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0